home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / meltdown.lha / MISC.SOURCE / MAPED.s < prev    next >
Encoding:
Text File  |  1988-07-19  |  6.1 KB  |  261 lines

  1. *****************************************************************************
  2.  
  3.                 **************
  4.                 * Map Editor *
  5.                 *     By     *
  6.                 *   Slaine   *
  7.                 *     Of     *
  8.                 *   Arena!   *
  9.                 **************
  10.  
  11. *****************************************************************************
  12.     Incdir    df1:            
  13.     Include    df1:source/macro
  14.     Chip
  15. *****************************************************************************
  16. Var1    =    4                    ; Number Of Bitmaps On Blocks
  17. *****************************************************************************
  18. Up    =    $67
  19. Down    =    $65
  20. Right    =    $63
  21. Left    =    $61
  22. Return    =    $77
  23. Back    =    $7d
  24. Del    =    $73
  25. Plus    =    $e7
  26. Minus    =    $e9
  27. *****************************************************************************
  28.     Move.l    4,A6
  29.     Jsr    -132(a6)
  30.     Move.l    (a6),A6
  31.     Move.l    (a6),A6
  32.     Move.l    38(a6),OldCopper
  33. *****************************************************************************
  34.     Lea    Custom,A5
  35.     Move.l    #Copper,Cop1lch(a5)
  36. *****************************************************************************
  37.     Blitwait
  38.     Move.l    #$70000,Bltdpth(a5)
  39.     Move.w    #000,Bltdmod(a5)
  40.     Move.l    #-1,Bltafwm(a5)
  41.     Move.l    #$01000000,Bltcon0(a5)
  42.     Move.w    #392*64+50,Bltsize(a5)
  43. *****************************************************************************
  44.     Move.l    #Cursor,D0
  45.     PlaneOn    D0,Cursl+2,Cursh+2    
  46. *****************************************************************************
  47.     Move.w    Mapptr,d0
  48.     Lea    Map,A0
  49.     Move.b    (a0,d0),OldBlock
  50.     Move.b    Block,(a0,d0)
  51. *****************************************************************************
  52. Mouse
  53.     Pos
  54.     Bsr    MoveCurs
  55.     Bsr    DoMap
  56.     Btst    #6,$bfe001
  57.     Bne.s    Mouse
  58. *****************************************************************************
  59.     Move.w    Mapptr,d1
  60.     Lea    Map,A0
  61.     Move.b    OldBlock,(a0,d1)
  62. *****************************************************************************
  63.     Move.l    OldCopper,Cop1lch(a5)
  64.     Move.l    4,A6
  65.     Jsr    -138(a6)
  66.     Move.l    4,a6
  67.     Clr.l    D0
  68.     Lea    Dos,A1
  69.     Jsr    -552(a6)
  70.     Move.l    D0,A6
  71.     Move.l    #1006,D2
  72.     Move.l    #File,D1
  73.     Jsr    -30(a6)
  74.     Move.l    D0,D1
  75.     Move.l    d0,-(a7)
  76.     Move.l    #Map,D2
  77.     Move.l    #240,d3
  78.     Jsr    -48(a6)
  79.     Move.l    (a7)+,d1
  80.     Jsr    -36(a6)
  81.     Clr.l    D0
  82.     Rts
  83. *****************************************************************************
  84. DoMap
  85.     Blitwait
  86.     Move.l    #$09f00000,Bltcon0(a5)
  87.     Move.l    #-1,Bltafwm(a5)
  88.     Move.w    #38,Bltdmod(a5)
  89.     Move.w    #0,Bltamod(a5)
  90.     Lea    Map,A0
  91.     Move.l    #$70000,D1
  92.     Move.l    #12-1,D6
  93. Loop1
  94.     Move.l    #20-1,D7
  95. Loop2
  96.     Clr.l    D0
  97.     Move.b    (a0)+,D0
  98.     Mulu    #128,D0
  99.     Add.l    #Blocks,D0
  100.     Blitwait
  101.     Move.l    D0,Bltapth(A5)
  102.     Move.l    D1,Bltdpth(A5)
  103.     Move.w    #(16*Var1)*64+1,Bltsize(A5)
  104.     Add.w    #2,D1
  105.     Dbf    D7,Loop2
  106.     Add.w    #((Var1*40)*16)-40,D1
  107.     Dbf    D6,Loop1
  108.     Rts
  109. *****************************************************************************
  110. MoveCurs
  111.     Move.b    $bfec01,D0
  112.     Cmp.b    #Return,D0
  113.     Beq.s    SkipRet
  114.     Move.w    Mapptr,d1
  115.     Lea    Map,A0
  116.     Move.b    OldBlock,(a0,d1)
  117. SkipRet    
  118.     Cmp.b    #Del,D0
  119.     Bne.s    SkipDel
  120.     Move.w    Mapptr,d1
  121.     Lea    Map,A0
  122.     Move.b    #0,(a0,d1)
  123. SkipDel
  124.     Cmp.b    #Up,D0
  125.     Bne.s    SkipUp
  126.     Cmp.b    #$28,Cursor
  127.     Beq.s    SkipUp
  128.     Sub.b    #16,Cursor
  129.     Sub.b    #16,Cursor+2
  130.     Sub.w    #20,MapPtr
  131. SkipUp
  132.     Cmp.b    #Down,D0
  133.     Bne.s    SkipDown
  134.     Cmp.b    #$d8,Cursor
  135.     Beq.s    SkipDown
  136.     Add.b    #16,Cursor
  137.     Add.b    #16,Cursor+2
  138.     Add.w    #20,MapPtr
  139. SkipDown
  140.     Cmp.b    #Right,D0
  141.     Bne.s    SkipRight
  142.     Cmp.b    #$d8,Cursor+1
  143.     Beq.s    SkipRight
  144.     Add.b    #8,Cursor+1
  145.     Add.w    #1,Mapptr
  146. SkipRight
  147.     Cmp.b    #Left,D0
  148.     Bne.s    SkipLeft
  149.     Cmp.b    #$40,Cursor+1
  150.     Beq.s    SkipLeft
  151.     Sub.b    #8,Cursor+1
  152.     Sub.w    #1,Mapptr
  153. SkipLeft
  154.     Cmp.b    #Plus,D0
  155.     Bne.s    SkipPlus
  156.     Add.b    #1,Block
  157. SkipPlus
  158.     Cmp.b    #Minus,D0
  159.     Bne.s    SkipMinus
  160.     Sub.b    #1,Block
  161. SkipMinus
  162.     Cmp.b    #Back,D0
  163.     Bne.s    SkipAll
  164.     Lea    Map,A0
  165.     Move.l    #239,d7
  166. ClearMap
  167.     Clr.b    (a0)+
  168.     Dbf    D7,ClearMap
  169.     Move.w    #0,OldBlock
  170. SkipAll
  171.     Clr.b    $bfec01
  172.     Move.w    Mapptr,d0
  173.     Lea    Map,A0
  174.     Move.b    (a0,d0),OldBlock
  175.     Move.b    Block,(a0,d0)
  176.     Rts
  177. *****************************************************************************
  178. OldBlock    
  179.     Dc.b    0
  180. Block    
  181.     Dc.b    0
  182. *****************************************************************************
  183. Cursor
  184.     Dc.l    $28403800
  185.     Dc.w    %1111111111111111,0
  186.     Dc.w    %1000000000000001,0
  187.     Dc.w    %1000000000000001,0
  188.     Dc.w    %1000000000000001,0
  189.     Dc.w    %1000000000000001,0
  190.     Dc.w    %1000000000000001,0
  191.     Dc.w    %1000000000000001,0
  192.     Dc.w    %1000000000000001,0
  193.     Dc.w    %1000000000000001,0
  194.     Dc.w    %1000000000000001,0
  195.     Dc.w    %1000000000000001,0
  196.     Dc.w    %1000000000000001,0
  197.     Dc.w    %1000000000000001,0
  198.     Dc.w    %1000000000000001,0
  199.     Dc.w    %1000000000000001,0
  200.     Dc.w    %1111111111111111,0
  201.     Dc.w    0,0
  202. *****************************************************************************
  203. Copper
  204.     Spr_Off                    ; Switch sprites off
  205. Cursl    Cmove    $0000,Spr0ptl
  206. Cursh    Cmove    $0000,Spr0pth
  207.     Cmove    $2881,Diwstrt
  208.     Cmove    $2cc1,Diwstop
  209.     Cmove    $0038,Ddfstrt
  210.     Cmove    $00d0,Ddfstop
  211.     Cmove    (Var1*40)-40,Bpl1mod            
  212.     Cmove    (Var1*40)-40,Bpl2mod            
  213.     Cmove    (Var1*4096)+$200,Bplcon0
  214.     Cmove    $0007,Bpl1pth
  215.     Cmove    $0007,Bpl2pth
  216.     Cmove    $0007,Bpl3pth
  217.     Cmove    $0007,Bpl4pth
  218.     Cmove    $0007,Bpl5pth
  219.     Cmove    $0000,Bpl1ptl
  220.     Cmove    $0028,Bpl2ptl
  221.     Cmove    $0050,Bpl3ptl
  222.     Cmove    $0078,Bpl4ptl
  223.     Cmove    $00a0,Bpl5ptl
  224.     dc.w    $0180,$0000,$0182,$0fff,$0184,$0f07,$0186,$0800
  225.     dc.w    $0188,$0dc0,$018a,$03f1,$018c,$000f,$018e,$02cd
  226.     dc.w    $0190,$0f0c,$0192,$0a0f,$0194,$0950,$0196,$0fca
  227.     dc.w    $0198,$0fe0,$019a,$0ccc,$019c,$05de,$019e,$0444
  228.     Cmove    $0fff,Color17
  229.     EndCop
  230. *****************************************************************************
  231. MapPtr
  232.     Dc.w    0
  233. Map
  234.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  235.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  236.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  237.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  238.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  239.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  240.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  241.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  242.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  243.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  244.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  245.     Dc.b    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  246. *****************************************************************************
  247. OldCopper    
  248.     Dc.l    0
  249. *****************************************************************************
  250. Blocks    
  251.     Incbin    Gfx/CrapBlocks
  252.  Even
  253. *****************************************************************************
  254. Dos    Dc.b    "dos.library",0
  255.  Even    
  256. *****************************************************************************
  257. File    Dc.b    "ram:a",0
  258.  Even
  259. *****************************************************************************
  260.         
  261.